$(document).ready(function(){
	
	var objGlobal;
	
	
	$(function() {
        $("#example1").dataTable({
        	"bSort": false
        });
        
        
        $('#example2').dataTable({
            "bPaginate": true,
            "bLengthChange": false,
            "bFilter": false,
            "bSort": true,
            "bInfo": true,
            "bAutoWidth": false
        });
        $('#example3').dataTable({
        	"bPaginate": false,
        	"sScrollY": "300",
        	//"sScrollX": "100%",
        	"bScrollCollapse": true,
        	"bInfo": true,
        	//"iDisplayLength": 10,
        	"aLengthMenu": [["All"]]
        });
    });

	function keyPress(){
		$(".linha").keypress(function(evento) {
			var codigo;
	        if(navigator.appName == "Netscape"){
	            codigo = evento.which;
	        } else {
	            codigo = evento.keyCode;
	        }
			
	        if ( codigo == 13 || codigo == 8 || codigo == 0) {
	        	return true;
	        }
	
	        if((codigo < 48 || codigo > 57) && codigo != 44){
	            if(navigator.appName != "Netscape"){
	            	evento.keyCode = 0;
	            }
	            return false;
	        }
		});
	}
	
	$(".qtd-produto").keypress(function(evento) {
		var codigo;
        if(navigator.appName == "Netscape"){
            codigo = evento.which;
        } else {
            codigo = evento.keyCode;
        }
		
        if ( codigo == 13 || codigo == 8 || codigo == 0) {
        	return true;
        }

        if(codigo < 48 || codigo > 57){
            if(navigator.appName != "Netscape"){
            	evento.keyCode = 0;
            }
            return false;
        }
	}); 
	
	$('#add-ped').click(function(evt){
		evt.preventDefault();
		
		var produtos = {}, cart = [];
		$('.qtd-produto').each(function(i){
			if ($(this).val() != '' && $(this).val() != '0') {
				produtos.id = $(this).attr('id');
				produtos.qtd = $(this).val();
				produtos.preco = $(this).attr('preco');
				produtos.descricao = $(this).attr('descricao');
				cart.push({ id: produtos.id, qtd: produtos.qtd, preco: produtos.preco, descricao: produtos.descricao });
			}
		});
		
		//alert(cart);
		//var obj = JSON.stringify(cart);
		//var dados = {produtos: obj};
		var dados = {produtos: cart};

		confirmaPedido(dados);
		
		//runAjax($('#add-ped').attr("href"), dados, "json", confirmaPedido);
		//return false;
	});
	
	function confirmaPedido(dados){
    	var obj = eval(dados);
    	objGlobal = obj;
    	
    	$('#formConfirmaPedido tbody').empty();
    	$('#valor-total').empty();
    	
    	var soma = 0;
    	var preco_total_produto = 0;
    	
    	for (i = 0; i < obj.produtos.length; i++) { 
    		preco_unitario = numeral(obj.produtos[i].preco).format('0,0.00');
    		soma += obj.produtos[i].preco*obj.produtos[i].qtd;
    		
    		$('#formConfirmaPedido tbody').append("<tr>"+
    		"<td width='20px'><input type='text' class='linha' name='comissao_vendedor' size='7px' /></td>"+
			"<td>"+ obj.produtos[i].qtd +"<input type='hidden' class='linha' name='qtd_produto' value='"+obj.produtos[i].qtd+"'/></td>"+
			"<td>"+ preco_unitario +"<input type='hidden' class='linha' name='preco_unitario' value='"+preco_unitario+"'/></td>"+
			"<td>"+ numeral(obj.produtos[i].preco*obj.produtos[i].qtd).format('0,0.00') +"<input type='hidden' class='linha' name='preco_total' value='"+numeral(obj.produtos[i].preco*obj.produtos[i].qtd).format('0,0.00')+"'/></td>"+
			"<td>"+ obj.produtos[i].id +"<input type='hidden' class='linha' name='id_produto' value='"+obj.produtos[i].id+"'/></td>"+
			"<td>"+ obj.produtos[i].descricao +"</td>"+
			"</tr>");
    	}
    	
    	keyPress();
    	$('#valor-total').append("<tr><td><input type='hidden' class='linha camposInput' name='valor_total' value='"+numeral(soma).format('0,0.00')+"'/><b>Valor Total: "+numeral(soma).format('0,0.00')+"</b></td></tr>");
	}
	
	$('#enviar-pedido').click(function(evt){
		evt.preventDefault();
		
		//Monta o Objeto Produtos
		var produtos = {}, itens = [];
		$('.linha').each(function(i){
			
			if ($(this).attr('name') == 'comissao_vendedor') {
				produtos.comissao = $(this).val();
			}
			if ($(this).attr('name') == 'qtd_produto') {
				produtos.qtd = $(this).val();
			}
			if ($(this).attr('name') == 'preco_unitario') {
				produtos.precoUnitario = $(this).val();
			}
			if ($(this).attr('name') == 'preco_total') {
				produtos.precoTotal = $(this).val();
			}
			if ($(this).attr('name') == 'id_produto') {
				produtos.id = $(this).val();
				itens.push({ 
								comissao: produtos.comissao, 
								precoUnitario: produtos.precoUnitario, 
								precoTotal: produtos.precoTotal, 
								qtd: produtos.qtd, 
								id: produtos.id 
						});
			}
		});
		//var obj = JSON.stringify(itens);
		//alert(obj);
		
		//Monta o Objeto CamposAdicionais
		var camposAdicionais = {}, valores = [];
		$('.camposInput').each(function(i){
			var valor = $(this).val();
			if($(this).attr('name') == 'desconto'){
				camposAdicionais.desconto = valor;
			}
			if($(this).attr('name') == 'prazo') {
				camposAdicionais.prazo = valor;
			}
			if($(this).attr('name') == 'observacao') {
				camposAdicionais.observacao = valor;
			}
			if($(this).attr('name') == 'valor_total') {
				camposAdicionais.valor_total = valor;
			}
		});
		valores.push({ 
						desconto: camposAdicionais.desconto, 
						prazo: camposAdicionais.prazo, 
						observacao: camposAdicionais.observacao,
						valor_total: camposAdicionais.valor_total
					});
		
		var objAdicional = JSON.stringify(valores);
		//alert(objAdicional);
		
		//Monta os Objetos em um só Objeto
		var dados = {produtos: obj, camposAdicionais: objAdicional};
		//alert(dados);
		
		
		var dados = {produtos: itens, camposAdicionais: valores};
		//alert(dados);
		
		var obj = JSON.stringify(dados);
		//alert(obj);
		
		var dados = { dados: obj};
		//alert(dados);
		
		runAjax($('#formConfirmaPedido').attr("action"), dados, "json", redirect);
		return false;
	});
	
	function redirect(txt){
		//alert(txt);
		//window.location.reload();
		window.location = txt.redirect;
		//location.href="../pedido";
		
	}
	
    function runAjax(url, datas, dataType, callBackSuccess) {
    	var eXmlIE = false;
    	if (dataType == "xml") {
    		var eXmlIE = $.browser.msie;
    		if ($.browser.msie != undefined || $.browser.msie) {
    			dataType = "text";
    			eXmlIE = true;
    		} else {
    			dataType = "html";
    			eXmlIE = false;
    		}
    	}
    	$.ajax({
    		type : "POST",
    		url : url,
    		data : datas,
    		dataType : dataType,
    		success : function(data) {
    			if (eXmlIE) {
    				data = parseXMLDiferentBrowsers(data);
    			}
    			callBackSuccess(data);
    		},
    		error : function(xhr, status, errorThrown) {
    			if (xhr.status == "200" || xhr.status == "202") {
    				if (eXmlIE) {
    					data = parseXMLDiferentBrowsers(data);
    				}
    				callBackSuccess(xhr);
    			}
    			if (xhr.status == "12031") {
    				alert("O servidor está fora do ar! Por favor aguarde um instante! Caso o problema persista, entre em contato com o suporte!");
    			} else {
    				// alert(xhr.status);
    			}
    		}
    	});
    }

    function parseXMLDiferentBrowsers(data) {
    	var xml = "";
    	if (typeof data == "string") {
    		xml = new ActiveXObject("Microsoft.XMLDOM");
    		xml.async = false;
    		xml.loadXML(data);
    	} else {
    		xml = data;
    	}
    	return xml;
    }
    
	$("form#alterar-senha").submit(function(){
		runAjax($(this).attr("action"), $(this).serialize(), "text", confimRetirada);
		return false;
	});	
	
	function confimRetirada(txt){
		alert(txt);
		if (txt == 'Senha alterada com sucesso!'){
			window.location.reload();
		}
	}
	
});